package inorder_to_postorder.lexer;

public class Word extends Token {
    public String lexeme = "";

    public Word(String s, int tag) {
        super(tag);
        lexeme = s;
    }

    public String toString() {
        return lexeme;
    }

    public static final Word
            IF = new Word("if", Tag.IF),
            ELSE = new Word("else", Tag.ELSE),
            TRUE = new Word("TRUE", Tag.TRUE),
            FALSE = new Word("FALSE", Tag.FALSE),
            EQ = new Word("==", Tag.EQ),
            RIPEMD160 = new Word("OP_RIPEMD160", Tag.RIPEMD160),
            SHA1 = new Word("OP_SHA1", Tag.SHA1),
            SHA256 = new Word("OP_SHA256", Tag.SHA256),
            HASH160 = new Word("OP_HASH160", Tag.HASH160),
            HASH256 = new Word("OP_HASH256", Tag.HASH256),
            VERIFY = new Word("OP_VERIFY", Tag.VERIFY),
            DROP = new Word("OP_DROP", Tag.DROP),
            DUP = new Word("OP_DUP", Tag.DUP),
            CHECKLOCKTIMEVERIFY = new Word("OP_CHECKLOCKTIMEVERIFY", Tag.CHECKLOCKTIMEVERIFY),
            CHECKSEQUENCEVERIFY = new Word("OP_CHECKSEQUENCEVERIFY", Tag.CHECKSEQUENCEVERIFY),
            CHECKSIG = new Word("OP_CHECKSIG", Tag.CHECKSIG),
            EQUAL = new Word("OP_EQUAL", Tag.EQUAL),
            CHECKSIGVERIFY = new Word("OP_CHECKSIGVERIFY", Tag.CHECKSIGVERIFY),
            EQUALVERIFY = new Word("OP_EQUALVERIFY", Tag.EQUALVERIFY),
            CHECKMULTISIG = new Word("OP_CHECKMULTISIG", Tag.CHECKMULTISIG),
            CHECKMULTISIGVERIFY = new Word("OP_CHECKMULTISIGVERIFY", Tag.CHECKMULTISIGVERIFY),
            TEMP = new Word("temp", Tag.TEMP);
}